Git Signing

अपने कमिट और टैग पर सुरक्षित रूप से हस्ताक्षर करें

कमिट Signing क्या हैं?

किसी प्रतिबद्धता पर हस्ताक्षर करना आपके काम पर अपना व्यक्तिगत हस्ताक्षर करने जैसा है।

इससे साबित होता है कि आपने वास्तव में बदलाव किया है, और दूसरों को आपके कोड पर भरोसा करने में मदद मिलती है।

GitHub या GitLab जैसी साइटों पर, हस्ताक्षरित कमिट को अक्सर सत्यापित बैज मिलता है।

GPG क्या हैं?

जीपीजी (जीएनयू प्राइवेसी गार्ड) एक उपकरण है जो आपको गुप्त पासवर्ड की तरह चीजों पर हस्ताक्षर करने के लिए एक डिजिटल कुंजी उत्पन्न करने की अनुमति देता है।

Git कमिट और टैग पर हस्ताक्षर करने के लिए GPG कुंजियों का उपयोग करता है।

इससे आपकी पहचान साबित करने में मदद मिलती है और यह सुनिश्चित होता है कि आपके कोड के साथ छेड़छाड़ नहीं की गई है।

प्रतिबद्धताओं पर हस्ताक्षर क्यों और कब करें?

पहचान साबित करने के लिए

यह साबित करने के लिए कि आपकी प्रतिबद्धताएँ वास्तव में आपकी ओर से हैं

साख

दूसरों को अपने कोड पर भरोसा करने में मदद करने के लिए (विशेषकर ओपन सोर्स प्रोजेक्ट्स में)

संगठनात्मक आवश्यकताएँ

कुछ कंपनियों या परियोजनाओं को सुरक्षा के लिए हस्ताक्षरित प्रतिबद्धताओं की आवश्यकता होती है

यदि हस्ताक्षरित नहीं है

यदि आप हस्ताक्षर नहीं करते हैं, तो आपकी प्रतिबद्धताएं अभी भी वैध, सत्यापित या केवल हैं

1

कमिट साइनिंग कैसे सेट करें

एक GPG कुंजी बनाएं (यदि आपके पास एक नहीं है):

उदाहरण: एक नई GPG कुंजी बनाएँ

gpg --full-generate-key

अपनी कुंजी बनाने के लिए संकेतों का पालन करें।

अपनी कुंजी आईडी ढूंढें:

उदाहरण: GPG कुंजियाँ सूचीबद्ध करें

gpg --list-secret-keys --keyid-format=long

sec rsa4096/1234ABCD5678EFGHस्लैश के बाद का भाग आपकी कुंजी आईडी है जैसी पंक्ति देखें।

Git को अपनी कुंजी का उपयोग करने के लिए कहें:

उदाहरण: हस्ताक्षर कुंजी सेट करें

git config --global user.signingkey <your-key-id>
2

कमिट और टैग पर हस्ताक्षर कैसे करें

किसी प्रतिबद्धता पर हस्ताक्षर करने के लिए, इसका उपयोग करें:

प्रतिबद्धता पर हस्ताक्षर करें

git commit -S -m "message"

किसी टैग पर हस्ताक्षर करने के लिए, इसका उपयोग करें:

टैग पर हस्ताक्षर करने के लिए

git tag -s v1.0 -m "version 1.0"
3

सभी प्रतिबद्धताओं पर स्वचालित रूप से हस्ताक्षर करें

यदि आप चाहते हैं कि Git डिफ़ॉल्ट रूप से प्रत्येक प्रतिबद्धता पर हस्ताक्षर करे, तो चलाएँ:

उदाहरण

git config --global commit.gpgSign true
4

सत्यापित करें कि एक प्रतिबद्धता पर हस्ताक्षर किए गए हैं

Git में सत्यापित करने के लिए, चलाएँ:

उदाहरण

git log --show-signature

GitHub या GitLab पर, अपने कमिट या टैग के आगे एक सत्यापित बैज देखें।

उदाहरण: Git लॉग में एक हस्ताक्षरित प्रतिबद्धता

commit 1234abcd5678efgh
gpg: Signature made ...
gpg: Good signature from "Your Name "
Author: Your Name 
Date:   ...

हस्ताक्षरित प्रतिबद्धताओं की मरम्मत करना

GPG डेटा पर हस्ताक्षर करने में विफल

सुनिश्चित करें कि आपका GPG एजेंट चल रहा है और आपकी कुंजी लोड है।

अमान्य कुंजी का उपयोग किया गया था

Git में आपके द्वारा सेट की गई कुंजी आईडी को दोबारा जांचें।

अभी भी समस्या आ रही है?

त्रुटि संदेश के लिए ऑनलाइन खोज करने का प्रयास करें या अपने Git और GPG इंस्टॉलेशन की जाँच करें।

महत्वपूर्ण नोट

📝नोट

हस्ताक्षरित कमिट और टैग यह सुनिश्चित करने में मदद करते हैं कि आपका कोड संपादित नहीं किया गया है और लेखक के रूप में आपकी पहचान की पुष्टि करते हैं।

कुछ साइटों को आपके हस्ताक्षर को सत्यापित करने के लिए अतिरिक्त सेटअप की आवश्यकता हो सकती है (उदाहरण के लिए, अपनी सार्वजनिक कुंजी को GitHub या GitLab पर अपलोड करना)।

त्वरित संदर्भ

एक GPG कुंजी बनाएँ

नई जीपीजी कुंजी

gpg --full-generate-key

हस्ताक्षर कुंजी सेट करें

Git में हस्ताक्षर कुंजी

git config --global user.signingkey

प्रतिबद्धता पर हस्ताक्षर करें

एक हस्ताक्षरित प्रतिबद्धता

git commit -S -m

हस्ताक्षर सत्यापित करें

हस्ताक्षर देखें

git log --show-signature